package com.jingdianjichi.user.controller;

import com.jingdianjichi.redis.util.RedisShareLockUtil;
import com.jingdianjichi.redis.util.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RestController
public class TestController {

    @Autowired
    private RedisUtil redisUtil;

    @Autowired
    private RedisShareLockUtil redisShareLockUtil;

    // 测试接口，返回 "Hello World"
    @GetMapping("/test")
    public String test() {
        return "Hello World";
    }

    // 测试 Redis 操作，将 "姓名"-"孤傲电竞花美男" 存入 Redis
    @GetMapping("/testRedis")
    public void testRedis() {
        redisUtil.set("姓名", "孤傲电竞花美男");
    }

    // 测试 Redis 分布式锁
    @GetMapping("/testRedisLock")
    public void testRedisLock() {
        // 尝试加锁，锁的键为 "jichi"，请求标识为 "1231231"，锁的过期时间为 100000 毫秒
        boolean result = redisShareLockUtil.lock("jichi", "1231231", 100000L);
        System.out.println(result);
    }

    @GetMapping("testLog")
    public void testLog(){
        long startTime=System.currentTimeMillis();
        for(int i=0;i<100000;i++){
            log.info("这是{}条日志",i);
        }
        long endTime=System.currentTimeMillis();
        log.info("当前打印日志耗时:{}",endTime-startTime);
    }
}
